/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Controller;

import Model.Customer;
import Model.Item;
import Model.SalesOrder;
import Model.Status;
import java.util.ArrayList;

/**
 *
 * @author kostas
 */
public interface IFSalesOrderController {

    public SalesOrder getSalesOrder(int orderId, boolean retreiveAssociations) throws IllegalArgumentException;

    public void createSalesOrder(SalesOrder order, boolean updateAssociations);

    public void updateSalesOrder(SalesOrder order, boolean updateAssociations);

    public Customer getCustomer(int customerId, boolean retreiveAssociations) throws IllegalArgumentException;

    public Item getItem(int itemId, boolean retreiveAssociations) throws IllegalArgumentException;

    public ArrayList<Status> getStatuses(String type) throws IllegalArgumentException;

    public Status getStatus(String name) throws IllegalArgumentException;
}
